The present invention relates to a system and method of data replication. More particularly, it relates to a system and method of replicating data between an active and standby mated processor pair for achieving high availability.
The present invention will be described in the context of a cellular wireless communication network, although it should be appreciated that the invention is applicable to a variety of mated processor systems and methods providing high availability.
A typical cellular wireless communication networks is made up of a plurality of cells each occupying a separate geographical area. Each cell usually includes a cell site having known hardware necessary for providing wireless communication coverage to a plurality of wireless terminals within the cell. Examples of such hardware can include, but is not limited to, radio frequency transmitters and receivers, antenna systems, interface equipment and power sources.
The cell site typically communicates with one or more application processors which handle access network resources such as radios, channels and the like within the cell. Software applications, known as Radio Control Software (RCS), running on these application processors manage the associated call and maintenance traffic to, from, and within the cell. Several cell sites typically communicate with a Mobile Switching Center (MSC) which switches cellular calls to wired central offices to enable mobile terminals to communicate with phones over the Public Switched Telephone Network (PSTN).
The PSTN offers users the benefit of high availability of service which means call service interruptions are rare. As the use of wireless networks grows and the capacity of wireless networks increases, end users and service providers are becoming more concerned about increasing the availability of the processors and software applications which handle calls thereby reducing service interruptions for callers. Interruptions in wireless communication service can be created when hardware and/or software fails or is taken off line for repairs, maintenance, updates, etc. High availability of wireless communication services is sought to make cellular communications a viable alternative to PSTN.
In an effort to achieve high availability, RCS application processors are paired to form mated processor pairs in an active/standby arrangement. When a fault occurs on the active processor, the standby process is elevated to the active role to continue providing service.
In conventional data replication methods involving mated processor arrangements, the process taking over the active role typically performs a data diffing technique in which regions of memory are compared and areas that have changed are identified and sent to the standby process. Alternatively, the active process sends a bulk transfer of all current data to the standby process.
However, these methods are not suitable for unplanned faults where the current active process fails. And for non-failure cases, these approaches introduce an interval during the switchover where all new activity must be suspended until the standby process is prepared to take over. These methods can also be CPU intensive, requiring significant processing resources, reducing the amount of normal application tasks the processors can handle while also replicating data. It is desirable to provide an improved system and method of data replication.
Not only should the system and method of data replication system assist in replicating data between the active and standby sides of an application as quickly and efficiently as possible, but it is also desirable to know at all times whether the standby side's data is consistent with that of the active side.
Further, conventional hardware and software data replication solutions typically specify a transport protocol that the application must use. Also, existing implementations typically require strong typing of data and high application involvement in the replication process, for example requiring explicit copying of data in and out of replication buffers. Thus, these solutions are generally application specific which increases costs and prevents portability. It is desirable to provide a data replication solution which is not application specific and which enables the application to specify the transport protocol.